From: Dario Faggioli Date: Fri, 6 Jul 2012 12:17:45 +0000 (+0100) Subject: libxl: explicitly check for libmath in autoconf X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~8200 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=d01089fc667ec8f2c64036882c9e8fb16d6162df;p=xen.git libxl: explicitly check for libmath in autoconf As well as explicitly add -lm to libxl's Makefile. This is because next patch uses floating point arithmetic, and it is better to state it clearly that we need libmath (just in case we find a libc that wants that to be explicitly enforced). Notice that autoconf should be rerun after applying this change. Signed-off-by: Dario Faggioli Acked-by: Roger Pau Monne Acked-by: Ian Campbell [ ijc -- s/libmath/libm/ in error message ] Committed-by: Ian Campbell --- diff --git a/tools/config.h.in b/tools/config.h.in index bc1ed1057b..87d744b1b5 100644 --- a/tools/config.h.in +++ b/tools/config.h.in @@ -6,6 +6,9 @@ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #undef HAVE_LIBCRYPTO +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + /* Define to 1 if you have the `yajl' library (-lyajl). */ #undef HAVE_LIBYAJL diff --git a/tools/configure b/tools/configure index de0327c12b..2ac7e5cf76 100755 --- a/tools/configure +++ b/tools/configure @@ -6253,6 +6253,53 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan in -lm" >&5 +$as_echo_n "checking for isnan in -lm... " >&6; } +if test "${ac_cv_lib_m_isnan+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char isnan (); +int +main () +{ +return isnan (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_isnan=yes +else + ac_cv_lib_m_isnan=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_isnan" >&5 +$as_echo "$ac_cv_lib_m_isnan" >&6; } +if test "x$ac_cv_lib_m_isnan" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +else + as_fn_error $? "Could not find libm" "$LINENO" 5 +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5 in -lcrypto" >&5 $as_echo_n "checking for MD5 in -lcrypto... " >&6; } if test "${ac_cv_lib_crypto_MD5+set}" = set; then : diff --git a/tools/configure.ac b/tools/configure.ac index 8587eef77f..d3e0c1458e 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -133,6 +133,7 @@ AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"]) AC_SUBST(zlib) AC_CHECK_LIB([aio], [io_setup], [system_aio="y"], [system_aio="n"]) AC_SUBST(system_aio) +AC_CHECK_LIB([m], [isnan], [], [AC_MSG_ERROR([Could not find libm])]) AC_CHECK_LIB([crypto], [MD5], [], [AC_MSG_ERROR([Could not find libcrypto])]) AC_CHECK_LIB([ext2fs], [ext2fs_open2], [libext2fs="y"], [libext2fs="n"]) AC_SUBST(libext2fs) diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index 48f352eb4e..313f05c292 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -61,7 +61,7 @@ ifeq ($(BISON),) scanners, please install it an rerun configure) endif -LIBXL_LIBS += -lyajl +LIBXL_LIBS += -lyajl -lm LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \ libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \